package com.lh.runmanage.service.Impl;

import com.lh.runmanage.dao.UserMapper;
import com.lh.runmanage.model.InPutParam.UserInParam;
import com.lh.runmanage.model.UserModel;
import com.lh.runmanage.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author ：梁昊，后端工程师：梁昊
 * @create 2021-07-12 16:17
 * @function
 * @editLog
 */
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserMapper userMapper;
    /**
     * 分页得到用户
     *
     * @param useName 账号
     * @return 分页用户数据
     */
    @Override
    public List<UserModel> selectUser(String useName) {
        return userMapper.selectUser(useName);
    }
    /**
     * 登录
     *
     * @param mobile 手机号
     * @return 是否登录
     */
    @Override
    public UserModel logSystem(String mobile) {
        return userMapper.logSystem(mobile);
    }

    /**
     * 修改用户信息
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    @Override
    public int updateUserById (UserInParam userInParam) {
        if (userMapper.updateUserBeforeCheck(userInParam) == 0)
            return userMapper.updateUserById(userInParam);
        else
            return -1000;
    }

    /**
     * 根据ID删除用户
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    @Override
    public int deleteUserById (UserInParam userInParam) {
        return userMapper.deleteUserById(userInParam);
    }

    /**
     * 修改用户密码
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    @Override
    public int updateUserPassWordById (UserInParam userInParam) {
        return userMapper.updateUserPassWordById(userInParam);
    }


    /**
     * 增加一个用户信息，手机号不能重复
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    @Override
    public int insertUser (UserInParam userInParam) {
        if (userMapper.insertUserBeforeCheck(userInParam) == 0)
            return userMapper.insertUser(userInParam);
        else
            return -1000;
    }

    /**
     * 增加一个用户信息，手机号不能重复
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    @Override
    public int insertUserBeforeCheck(UserInParam userInParam) {
        return userMapper.insertUserBeforeCheck(userInParam);
    }

    /**
     * 修改前缀事件，手机号不能重复
     * @param userInParam
     * @return
     */
    @Override
    public int updateUserBeforeCheck(UserInParam userInParam) {
        return userMapper.updateUserBeforeCheck(userInParam);
    }

    /**
     * 根据用户ID，得到用户名
     *
     * @param id 主键
     * @return 一个用户
     */
    @Override
    public String selectUserNameById(String id) {
        return userMapper.selectUserNameById(id);
    }

}